home *** CD-ROM | disk | FTP | other *** search
/ AOL File Library: 4,101 to 4,200 / aol-file-protocol-4400-4101-to-4200.zip / AOLDLs / ADV - Articles & Misc / HUGE Peeks, Pokes, chart & MORE / PROGRAMMING.shk / PEEKS.AND.POKES (.txt) next >
AppleWorks Document  |  1990-02-17  |  33KB  |  646 lines

  1. O=====|====|====|====|====|====|====|====|====|====|====|====|====|====|====|===
  2. PEEKS
  3. POKES
  4. PROGRAMMING
  5. NOTES
  6. (written for an Apple IIe, but should be indispensible to
  7. all Apple II owners)
  8. Information compiled on AppleWorks by SCOTT TERESI
  9. * = Applesoft BASIC only
  10. ** = Integer BASIC only
  11. PEEK and/or POKE address(es)            DESCRIPTION
  12. HEX       DECIMAL
  13. ZERO PAGE
  14. ADDRESSES $0000.00FF (0-255)
  15. $0.5......0-5......................*....Jump instructions2
  16. $6.9......6-9......................*....Not used>
  17. $0A.0C....10-12....................*....USR jump instruction<
  18. $0D.17....13-23....................*....Flags and countersA
  19. $18.......24............................First track of DOS dataB
  20. $19.......25............................First sector of DOS dataG
  21. $1A.......26............................Number of DOS sectors to loadO
  22. M$1B.......27............................High byte of DOS buffer (low byte is 
  23. always 00)F
  24. $1A.1B....26-27.........................DRAW and XDRAW shape pointer9
  25. $1C.......28............................Last color used2
  26. $1D.1F....29-31.........................Not usedM
  27. K$20.......POKE 32,N...(entering TEXT....(N is 0-39; norm is 0) Text window 
  28.  edgeO
  29. M$21.......POKE 33,N.........restores....(N is 1-40/1-80; norm is 40/80) Text 
  30. window 
  31.  edgeM
  32. K$22.......POKE 34,N......normal text....(N is 0-23; norm is 0) Text window 
  33.  edgeN
  34. L$23.......POKE 35,N..........window)....(N is 1-24; norm is 24) Text window 
  35. bottom
  36. I$24.......36............................Cursor's column position minus 1 
  37. (HTAB's place)P
  38. N$25.......37............................Cursor's row location minus 1 (VTAB's 
  39. place)D
  40. $25; $FC66; $FC1A; $24..POKE 37,R: CALL -922: CALL -998: POKE 36,CI
  41. G                                      ..(R=row; C=column) Plots cursor 
  42. positionO
  43. $26.27....?PEEK(38)+PEEK(39)*256........Address of current low-res cursor rowL
  44. $28.29....?PEEK(40)+PEEK(41)*256........Address of current text cursor rowH
  45. $2A.2B....42-43.........................Row pointer for text scrollingF
  46. $2B.......43............................Last booted slot number * 16I
  47. $2C.......?PEEK(44).....................Last lo-res HLIN right endpointJ
  48. $2D.......?PEEK(45).....................Last lo-res VLIN bottom endpointL
  49. J$2E.......N=PEEK(46)....................If N=15 ($0F) then a lo-res color &
  50. )$block is to be plotted in the lower %
  51. )#half of the screen; if N=240 ($F0) '
  52. )%then it will be plotted in the upper 
  53. halfE
  54. $2F.......47............................Sometimes DOS volume number;
  55. $30.......48............................Lo-res color * 17J
  56. H$32.......50............................In N=PEEK(50), the current text #
  57. )!format is INVERSE if N=63 ($3F); &
  58. )$FLASH if N=127 ($7F); and NORMAL if &
  59. )$N=255 ($FF); (also POKE 50,128 will %
  60. make listing and CATALOG invisible)K
  61. I$33.......51............................ASCII character for INPUT prompt '
  62. )%symbol; also, POKEing here sometimes $
  63. defeats "Not Direct Command" errorC
  64. $34.49....52-73.........................Monitor and DOS registersH
  65. F$48.......72............................A POKE here resets the status 
  66. register/
  67. $4A.4B....74-75...................**....LOMEM/
  68. $4C.4D....76-77...................**....HIMEML
  69. J$4E.4F....78-79.........................Random number field; for a better 
  70. random number generator, use 
  71. RND(PEEK(78)+PEEK(79)*256)2
  72. $50.61....80-97....................*....PointersK
  73. $52.......82.......................*....POKE 82,128 makes any command RUNH
  74. F$62.66....98-102........................Result of last-floating point &
  75. multiplication or division operation@
  76. $67.68....103-104.......................Start of BASIC programP
  77. N$69.6A....105-106.......................LOMEM; end of BASIC program and start 
  78. of variable spaceF
  79. $6B.6C....107-108.......................Start of defined array spaceD
  80. $6D.6E....109-110.......................End of defined array spaceA
  81. $6F.70....111-112.......................Start of string storage<
  82. $71.72....113-114..................*....Temporary registerO
  83. M$73.74....115-116..................*....HIMEM - 1; highest address available 
  84. to BASIC programD
  85. $75.76....117-118.......................Line number being executedK
  86. $77.78....119-120.......................Line number where program stoppedJ
  87. H$79.7A....121-122.......................Address of next statement to be 
  88. executed?
  89. $7B.7C....123-124.......................Next DATA line number;
  90. $7D.7E....125-126.......................Next DATA address>
  91. $7F.80....127-128.......................INPUT source pointer,
  92. $81.82....?CHR$(PEEK(129))+CHR$(PEEK(130))C
  93.                                       ..Last used variable's nameF
  94. $83.84....?PEEK(131)+PEEK(132)*256......Last used variable's addressC
  95. $85.9C....133-156..................*....General-purpose registers
  96. G*9D.A3....157-163.......................Main floating-point arithmetic 
  97. accumulatorL
  98. J$A5.AB....165-171.......................Axilary floating-point arithmetic 
  99. accumulatorC
  100. $AC.AE....172-174..................*....General-purpose registers>
  101. $AF.B0....175-176.......................End of BASIC program?
  102. $B1.C8....177-200..................*....Get-character routineF
  103. $C9.CD....201-205.......................Floating point random number@
  104. $CE.CF....206-207.................**....Arithmetic accumulatorN
  105. $D0.DF....208-223.......................BASIC scratch registers and pointersL
  106. $D4.......212...........................Returns error cord flag in decimalK
  107. I$D6.......214.....................**....RUN flag (POKE 214,255 makes any $
  108. )"command run a program; POKE 214,0 
  109. restores the functions)P
  110. N$D8.......216...........................ONERR flag (if PEEK (216)=127 then an !
  111. error has occurred; POKE 216,0 
  112. cancels ONERR function)K
  113. $DA.DB....L=PEEK(218)+PEEK(219)*256.....Line number last error occured in=
  114. $DC.DD....?PEEK(220)+PEEK(221)*256......ONERR error addressL
  115. $DE.......?PEEK(222)....................ONERR error code (see table below)9
  116. $E0.E1....?PEEK(224)+PEEK(225)*256..*...X of last HPLOT9
  117. $E2.......?PEEK(226)...............*....Y of last HPLOT2
  118. $E3.......227...........................Not usedN
  119. L$E4.......228......................*....N=PEEK(228) returns the HCOLOR code &
  120. )$which is 0 if N=0; 1 if N=42 ($2A); '
  121. )%2 if N=85 ($55); 3 if N=127 ($7F); 4 &
  122. )$if N=128 ($8F); 5 if N=170 ($AA); 6 &
  123. if N=213 ($D5); and 7 if N=255 ($FF)K
  124. I$E6.......230......................*....A 32 ($20) in this address means #
  125. )!hi-res page 1 is being shown; 64 #
  126. ($40) = page 2; 96 ($60) = page 3/
  127. $E7.......231......................*....SCALEC
  128. $E8.E9....232-233..................*....Shape table start addressN
  129. L$EA.......N=PEEK(234)..............*....If N=0 then last XDRAW started at a 
  130. non-black hi-res point2
  131. $EB.EF....235-239.......................Not usedO
  132. M$F1.......241......................*....256 minus the current SPEED; to find 
  133. the speed, use this formula: 
  134. SPEED=256-PEEK(241)C
  135. $F2.F8....242-248..................*....General-purpose registersN
  136. L$F3.......243......................*....FLASH mask (POKE any number here to 
  137. make listings unreadable)N
  138. L$F9.......249......................*....ROT (0-64 = 0-360 degrees, 32 = 180 
  139. degrees)2
  140. $FA.FF....250-255.......................Not used
  141. MONITOR VARIABLES/VECTORS;
  142. PAGE 1/PAGE 2 TEXT/GRAPHICS
  143. ADDRESSES $0300.0C00 (768-3072)
  144. $320.321....800-801.....................Hi-res graphics horizontal coordinateD
  145. $322........802.........................Hi-res vertical coordinateI
  146. $324.325....804-805.....................Starting address of shape table6
  147. $32C........812.........................Hi-res colorM
  148. K$3D0.$3D2...976-978.....................Jump vector to DOS warm start (JMP 
  149. $9DBF)5
  150. $3D2........?(PEEK(978)+35)/4;"K".......Memory leftM
  151. K$3D3.3D5....979-981.....................Jump vector to DOS cold start (JMP 
  152. $9D84)O
  153. M$3D6.3D8....982-984.....................Jump vector to DOS File Manager (JMP 
  154. $AAFD)I
  155. $3D9.3DB....985-987.....................Jump vector to RWTS (JMP $B7B5)L
  156. J$3DC.3E2....988-994.....................Subroutine to locate file manager "
  157. PARM list (LDA $9D0F; LDY $9D0E)N
  158. L$3E3.3E9....995-1001....................Subroutine to locate RWTS PARM list 
  159. (LDA $AAC2; LDY $AAC1; RTS)I
  160. G$3EA.3EE....1002-1006...................Jump to replace DOS intercepts "
  161. subroutine (JMP $A851; NOP; NOP)O
  162. M$3EF.3F1....1007-1009...................Jump vector to Autostart BRK Handler 
  163. (JMP $FA59)N
  164. L$3F2.3F4....1010-1012...................<Control-Reset> vector (JMP $9DBF); &
  165. )$type address to JMP to at addresses &
  166. )$1010-1011 ($3F2.3F3), and then CALL 
  167. -1169 to set address 1012N
  168. L                                        (POKE 1010,102: POKE 1011,213: POKE %
  169. 1012,112 makes <Control-Reset> RUN;M
  170. K                                        POKE 1010,105: POKE 1011,255: POKE &
  171. )$1012,90 messes up CATALOG and makes  
  172. <Control-Reset> return to the 
  173. monitor;H
  174. F                                        POKE 592,0: POKE 1012,0 makes 
  175. <Control-Reset> boot;L
  176. J                                        POKE 592,255: POKE 1010,191: POKE "
  177. ) 1011,157: POKE 1012,56 restores $
  178. <Control-Reset>'s normal function)F
  179. $3F4....................................Power-up byte ($3F3 EOR $A5)M
  180. K$3F5.3F7....1013-1015...................Ampersand ("&") vector (JMP $FF58) &
  181. )$(POKE 1014,165: POKE 1015,214 makes 
  182. "&" LIST;M
  183. K                                        POKE 1014,110: POKE 1015,165 makes 
  184. "&" CATALOG;P
  185. N                                        POKE 1014,18: POKE 1015,217 makes "&" 
  186. RUN)F
  187. $3F8.3FA....1016-1018...................Control-Y vector (JMP $FF65)M
  188. K                                        (POKE 1016,76: POKE 1017,208: POKE #
  189. )!1018,3 makes <Control-Y> JuMP to 
  190. address $03D0 (address 976) 
  191. (JuMP=76, 03=3, D0=208);L
  192. J                                        POKE 1016,76: POKE 1017,105: POKE '
  193. )%1018,255 makes <Control-Y> enter the 
  194. monitor)D
  195. $3FB.3FD....1019-1021...................Jump vector to NMI handler@
  196. $3FE.3FF....1022-1023...................Vector for IRQ handlerK
  197. I$57B........1403........................Cursor's column position minus 1 "
  198. (HTAB's place) in 80-column modeI
  199. G$778........1912+SLOT...................Linefeed enable, disable (POKE %
  200. )#1912+SLOT,1 on Apple Parallel Card 
  201. will enable linefeed; POKE $
  202. 1912+SLOT,0 will disable linefeed)P
  203. N$801........2049........................POKE 2049,1 makes first BASIC program 
  204. line list repeatedly
  205. HEXADECIMAL   NEGATIVE DECIMAL    POSITIVE DECIMAL
  206. DOS LOCATIONS
  207. WITH DOS 3.3 LOADED INTO MEMORY
  208. ADDRESSES $9600.BFFF (38400-49151) (-27136 TO -16385)
  209. $9D01; $A7D4..-25343;-22572.......POKE 40193,PEEK(40193)-N:CALL 42964P
  210. N                                               ..Moves DOS buffers down N*256 
  211. bytesP
  212. N$9E42.........-25022..............40514..........Greeting program run flag (a 
  213. value of 20 will make DOS 
  214. 3.3 EXECute the greeting 
  215. program; a value of 52 
  216. makes DOS 3.3 BRUN it.)G
  217. E$A545.........-23227..............42309..........POKE 42309,96 kills 
  218. INITialize commandB
  219. $A56E.........-23168..............42350..........CATALOG routineI
  220. G$A710.A712....-22768 TO -22766....POKE 42768,234: POKE 42769,234: POKE 
  221. 42770,234I
  222. G                                               ..Cancels all DOS error 
  223. messagesP
  224. N$A884.A907....-22396 TO -22265....43140-43271....DOS 3.3 commands (on track 1 
  225. sectors 7-8 on normal DOS 
  226. 3.3 disk)J
  227. H$A972.AA3E....-22158 TO -21954....43378-43582....DOS 3.3 error messages 
  228. (track 1 sectors 8-9 on 
  229. normal DOS 3.3 disk)A
  230. $AA57.........-21929..............43607..........MAXFILES value@
  231. $AA60; $AA61..-21920; -21919......?PEEK(43616)+PEEK(43617)*256D
  232.                                                ..Last BLOAD lengthK
  233. $AA68.........-21912..............43624..........Active disk drive numberE
  234. $AA6A.........-21910..............43626..........Active slot number@
  235. $AA72; $AA73..-21902; -21901......?PEEK(43634)+PEEK(43635)*256C
  236.                                                ..Last BLOAD startI
  237. $AAB1.........-21839..............43697..........MAXFILES default valueO
  238. M$AAB2.........-21838..............43698..........Control-D command character 
  239. (POKE 43698,N makes CHR$(N) 
  240. replace CHR$(4))B
  241. @$AAB6.........-21834..............43702..........BASIC flag (in 
  242. N=PEEK(43702), if N=0 
  243. you're in INT BASIC; if 
  244. N=64, FP ROM; if N=128, FP 
  245. RAM)N
  246. L$AC01.........-21503..............44033..........CATALOG track number (POKE 
  247. 44033,0 returns an I/O 
  248. error when CATALOG is 
  249. entered; POKE 44033,17 
  250. returns back to normal)O
  251. M$ADA4.........-21084..............44452..........Number of file names before 
  252. catalog listing pauses plus 
  253. one (see address 44605)G
  254. E$ADAC; $ADAD..-21076; -21075......44460-44461....POKE 44460,88: POKE 
  255. 44461,252 clears screen 
  256. before catalogI
  257. $ADC0.ADC2; BB69.BB8F; B3AF.B3BA..44480-44482; 47977-48015; 45999-46010L
  258. J                                               ..To change VOLUME #xxx to 
  259. SECTORS FREE =xxx then 
  260. enter this while in the 
  261. monitor:8
  262.                                                   ADC0: 20 69 BAO
  263. M                                                  BB69: A9 00 85 40 85 41 A0 
  264. C8 18 B9 F2 B3 F0 0E 
  265. 0A 90 FB 48 E6 40 D0 
  266. 02 E6 41 68 18 90 F0 
  267. 88 D0 E9 A6 40 A5 41 
  268. 20 24 ED 60O
  269. M                                                  B3AF: A0 BD A0 D4 C3 C5 D3 
  270. A0 C5 C5 D2 C62
  271. F$ADD9; $ADDA..-21031; -21030......44505-44506....POKE 44505,234: POKE 
  272. 44506,234 shows deleted 
  273. files in catalogN
  274. L$AE17.........-20969..............44567..........Number of characters minus 
  275. one in CATALOG file nameH
  276. F$AE22.AE24....-20958 TO -20956....44578-44580....POKE 44578,234: POKE 
  277. 44579,234: POKE 44580,234 
  278. cancels carriage returns 
  279. after catalog file namesH
  280. F$AE34.AE36....-20940 TO -20938....44596-44598....POKE 44596,234: POKE 
  281. 44597,234: POKE 44598,234 
  282. cancels catalog pauseH
  283. F$AE37.AE38....-20937 TO -20936....44599-44600....POKE 44599,234: POKE 
  284. 44600,234 waits for 
  285. keypress after each catalog 
  286. file (to get back to 
  287. normal, POKE 44599,208: 
  288. POKE 44600,8)O
  289. M$AE3D.........-20931..............44605..........Number of file names before 
  290. catalog pause (POKE 
  291. 44452,N+1: POKE 44605,N 
  292. allows N file names before 
  293. the pause)J
  294. H$B201.B203; BA69.BA75..-19967 TO -19965; -17815 TO -17803..45569-45571; 
  295. 47721-47733O
  296. M                                               ..For DOS wildcard using "=", 
  297. enter this while in the 
  298. monitor:8
  299.                                                   B201: 4C 71 BAO
  300. M                                                  BA69: E8 B1 42 DD C6 B4 D0 
  301. 0A C8 C0 1E D0 F3 AE 
  302. 9C B3 18 60 C9 AD F0 
  303. F7 4C 0B B22
  304. $B3A7.B3AE....-19545 TO -19538....45991-45998....File-type codesO
  305. M$B3AF.B3BA....-19537 TO -19526....45999-46010....Current disk volume heading 
  306. spelled backwards (track 2 
  307. sector 2 on regular DOS 3.3 
  308. disk)M
  309. $B3C1.........-19519..............?PEEK(46017)...Current disk volume numberO
  310. M$B3F0.........-19472..............N=PEEK(46064)..Number of sectors per track 
  311. on current disk (if N=13, 
  312. then the DOS being used is 
  313. 3.2; if N=16, then 3.3)O
  314. M$B96A.........-18070..............47466..........If PEEK(47466) returns 150, 
  315. then DOS 3.3 is in memoryL
  316. J$BA01.........-17919..............47617..........A POKE of 12 here speeds 
  317. disk drive accessH
  318. F$BFD3.BFD5....-16429 TO -16427....49107-49109....POKE 49107,234: POKE 
  319. 49108,234: POKE 49109,234 
  320. prevents any language card 
  321. reload
  322. DOS LOCATIONS
  323. WITH PRODOS LOADED INTO MEMORY
  324. ADDRESSES $9600.BFFF (38400-49151) (-27136 TO -16385)
  325. F$B878.B8E8....-18312 TO -18200....47224-47336....ProDOS Version 1.1.1 
  326. commands (track $10, sector 
  327. $7 on normal ProDOS disk)E
  328. $BE3C.........-16836..............48700..........Active slot numberK
  329. $BE3D.........-16835..............48701..........Active disk drive numberP
  330. N$BEB7.........-16713..............48823..........A 33 or a 1 in this location 
  331. means that the file just 
  332. VERIFYed was locked
  333. $BED7; $BED8..-16681; -16680......?PEEK(48855)+PEEK(48856)*256K
  334.                                                ..Last BLOAD start address@
  335. $BED9; $BEDA..-16679; -16678......?PEEK(48857)+PEEK(48858)*256D
  336.                                                ..Last BLOAD length<
  337. $BF90.........-16496..............49040..........Day/month7
  338. $BF91.........-19495..............49041..........Year9
  339. $BF92.........-16494..............49042..........Minute7
  340. $BF93.........-16493..............49043..........Hour
  341. INPUT/OUTPUT/PERIPHERAL CARDS
  342. ADDRESSES $C000.CFFF (49152-53247) (-16384 TO -12289)
  343. $C000.C00F....-16384 TO -16369....K=PEEK(49152)-128 TO K=PEEK(49167)-128J
  344. H                                               ..All PEEKs in this area 
  345. achieve the same result: 
  346. ASCII code for the last 
  347. keypress; if K<0 then no 
  348. key was pressedK
  349. I$C00A.........-16374..............49162..........POKE 49162,0 allows the 
  350. functions of an 80-column 
  351. card (except 80-columns) on 
  352. an Apple IIe3
  353. $C010.C01F....-16368 TO -16353....49168,0-49183,0J
  354. H                                               ..All POKEs in this area 
  355. achieve the same result: 
  356. clear keyboardJ
  357. H$C020.C02F....-16352 TO -16337....49184-49199....All PEEKs in this area 
  358. achieve the same result: a 
  359. single click at cassette 
  360. OUT jackJ
  361. H$C030.C03F....-16336 TO -16321....49200-49215)...All PEEKs in this area 
  362. achieve the same result: a 
  363. single click at speakerG
  364. $C040.C04F....-16320 TO -16305....49216-49231....Utility stobe outputJ
  365. $C050.C057....-16304 TO -16297....49232-49239....Soft (display) switchesL
  366. $C058.C07F....-16296 TO -16257....49240-49279....I/O status for controllerG
  367. $C058.C05F....-16296 TO -16289....49240-49247....Game paddle commands7
  368. $C061+P.......-16287+P............N=PEEK(49249+P)-128L
  369. J                                               ..(P can be 0, 1, or 2) If 
  370. N>127 then paddle button #P 
  371. is being pressed or is not 
  372. connected (paddle button #0 
  373. = Open Apple key; #1 = 
  374. Solid Apple key; #2 = Shift 
  375. key)O
  376. $C0E8.........-16152..............POKE 49384,0...Stops motor at disk drive #1N
  377. L$C0E9.........-16151..............POKE 49385,0...Starts motor at disk drive 
  378. $C0F8.........-16136..............POKE 49400,0...Stops motor at disk drive #2N
  379. L$C0F9.........-16135..............POKE 49401,0...Starts motor at disk drive 
  380. $C100.C1FF....-16128 TO -15873....49408-49665....Peripheral slot #1 ROMI
  381. $C200.C2FF....-15872 TO -15617....49664-49921....Peripheral slot #2 ROMI
  382. $C300.C3FF....-15616 TO -15361....49920-50177....Peripheral slot #3 ROMI
  383. $C400.C4FF....-15360 TO -15105....50176-50433....Peripheral slot #4 ROMI
  384. $C500.C5FF....-15104 TO -14849....50432-50689....Peripheral slot #5 ROMI
  385. $C600.C6FF....-14848 TO -14593....50688-50945....Peripheral slot #6 ROMI
  386. $C700.C7FF....-14592 TO -12289....50944-51199....Peripheral slot #7 ROM
  387. APPLESOFT ROM
  388. ADDRESSES $D000-$F7FF (53248-63487) (-12288 TO -2049)
  389. $D0D0.D25E....-12080 TO -11682....53456-53854....Applesoft BASIC commandsI
  390. G$D260.D362....-11680 TO -11422....53856-54114....Applesoft BASIC error 
  391. messagesG
  392. E$DCDF.DCF6....-8993 TO -8970......56543-56566...."Extra Ignored" and 
  393. "Reenter" messages
  394. MONITOR ROM
  395. ADDRESSES $F800-$FFFF (63488-65535) (-2048 TO -1)
  396. $FBB3; $FBC0..-1101; -1088........A=PEEK(64435): B=PEEK(64448)K
  397. I                                               ..If A=6 and B=0 then the 
  398. computer being used is an 
  399. Apple IIc; if A=6 and B>223 
  400. and B<240 then it's a IIe; 
  401. if A=234 then it's a II+; 
  402. otherwise, it's an Apple IIO
  403. M$FD83.........-637................A=PEEK(64899)..If A=255 then Apple IIe; if 
  404. A=223 then Apple II or II+; 
  405. if A=234 then Franklin AceN
  406. L$FF0A.FF12....-246 TO -238........65290-65298....Top of screen heading when 
  407. computer is booted
  408. M_____________________________________________________________________________$
  409. __________________________________
  410. MACHINE LANGUAGE SUBROUTINES 
  411. (CALLS)
  412. HEX        +      CALL    -      DESCRIPTION
  413. $3D0.....976...........-64560....Enters BASIC from monitor or mini-assembler?
  414. $3D2.....978......CALL -64558....Reconnects DOS 3.3 or ProDOS:
  415. $3D9.....985......CALL -64551....Makes a cow sound (moo);
  416. $3EA.....1002.....CALL -64534....Reconnects DOS I/O hooks7
  417. $3F2.....1010.....CALL -64526....Control-Reset vector9
  418. $3F5.....1013.....CALL -64523....Ampersand ("&") vector3
  419. $3F8.....1016.....CALL -64520....Control-Y vectorI
  420. $803.....2051.....CALL -63485....Enters the mini-assembler from monitorJ
  421. H$1300....4864.....CALL -60672....Executes a BASIC program compiled with 
  422. "Einstein Compiler"5
  423. $9DBF....40383....CALL -25153....Reconnects DOS 3.3+
  424. $A56E....42350....CALL -23168....CATALOGs2
  425. $C030....49200....CALL -16336....Toggles speaker
  426. APPLESOFT ROM
  427. ADDRESSES $D000-$F7FF (53248-63487) (-12288 TO -2049)
  428. $D1FC....53756....CALL -11780....Hi-res "Find" or position>
  429. $D2C9....53961....CALL -11272....Hi-res "Find" or background=
  430. $D331....54065....CALL -11471....Hi-res graphics background/
  431. $D33A....54074....CALL -11462....Hi-res DRAW10
  432. $D3B9....54201....CALL -11335....Hi-res SHLOADO
  433. M$D683....54915....CALL -10621....Clears any incompleted FOR...NEXT loops and #
  434. any GOSUBs that were not RETURNed2
  435. $DAFB....56059....CALL -9477.....Carriage returnI
  436. $E000....57344....CALL -8192.....Resets Integer BASIC; clears variables5
  437. $E04B....57419....CALL -8117.....Integer BASIC LISTO
  438. $E484....58500....CALL -7036.....Perform Applesoft garbage collection routine&
  439. $E5AD....58797....CALL -6739.....NEW>
  440. $E5B7....58807....CALL -6729.....PLOTs a point on the screen6
  441. $E836....59446....CALL -6090.....Integer BASIC CHAIN4
  442. $EFEC....61420....CALL -4116.....Integer BASIC RUN?
  443. $F07C....61564....CALL -3972.....Integer BASIC LOAD from tape1
  444. $F0E0....61664.........-3872.....Leaves monitor9
  445. $F123....61731....CALL -3805.....DRAWS predefined shape5
  446. $F14F....61775....CALL -3761.....Plots hi-res point>
  447. $F171....61809....CALL -3727.....Turn on Integer BASIC TRACE?
  448. $F176....61814....CALL -3722.....Turn off Integer BASIC TRACE4
  449. $F30A....62218....CALL -3318.....Integer BASIC CON3
  450. $F317....62231....CALL -3305.....Applesoft RESUMEJ
  451. H$F328....62248....CALL -3288.....Clears error-handling information when  
  452. RESUME is not used to exit an 
  453. error-handling routine'
  454. $F3DE....62430....CALL -3106.....HGRsJ
  455. $F3E4....62436....CALL -3100.....Shows hi-res page 1 without clearing it@
  456. $F3F2....62450....CALL -3086.....Clears hi-res page 1 to blackN
  457. $F3F6....62454....CALL -3082.....Clears hi-res page 1 to last color HPLOTtedH
  458. F$F5CB....62923....CALL -2613.....Makes next shape table DRAW or XDRAW ,
  459. "*coordinates appear in addresses $EO, $E1, )
  460. "'and $E2 (see the PEEKS AND POKES table 
  461. above)7
  462. $F666....63078....CALL -2458.....Enter mini-assembler
  463. MONITOR ROM
  464. ADDRESSES $F800-$FFFF (63488-65535) (-2048 TO -1)
  465. H$F800....63488....CALL -2048.....Plots a point after column is set in Y -
  466. "+register, row in accumulator, and color in .
  467. ",zero-page address $30; destroys contents of 
  468. accumulatorL
  469. J$F819....63513....CALL -2023.....Plots a horizontal line to lo-res screen .
  470. ",after setting row to the accumulator, right '
  471. "%endpoint column to address $2C, left .
  472. ",endpoint column to Y register, and color to .
  473. ",$30; destroys contents of accumulator and Y 
  474. registerP
  475. N$F828....63528....CALL -2008.....Plots a vertical line to lo-res screen after &
  476. "$setting column to Y register, upper *
  477. "(endpoint row to the accumulator, bottom ,
  478. "*endpoint row to address $2D, and color to '
  479. $30; destroys contents of accumulatorG
  480. $F832....63538....CALL -1998.....Clears entire lo-res graphics screenJ
  481. H$F836....63542....CALL -1994.....Clears only graphics portion of lo-res 
  482. graphics screenO
  483. M$F838....63544....CALL -1992.....Clears low-res screen from top to specified (
  484. "&row after setting that row value in Y 
  485. registerP
  486. N$F83C....63548....CALL -1988.....Clears designated portion of upper left-hand (
  487. "&corner of lo-res screen after setting %
  488. "#right-end column to Y register and 
  489. bottom-end row to address $2DK
  490. I$F847....63559....CALL -1977.....Computes address for current lo-res row  
  491. value stored in the A register:
  492. $F85F....63583....CALL -1953.....Adds 3 to current COLORI
  493. G$F864....63588....CALL -1948.....Sets lo-res color to the value in the 
  494. accumulatorJ
  495. H$F871....63601....CALL -1935.....Returns color code of specified lo-res +
  496. ")graphics point; set column to X register -
  497. "+and row to the accumulator; after CALLing, +
  498. the color code will be in the accumulatorJ
  499. H$F940....63808....CALL -1728.....Prints current contents of the Y and X 
  500. registers in hexadecimalJ
  501. H$F941....63809....CALL -1727.....Prints current contents of the A and X 
  502. registers in hexadecimalL
  503. J$F944....63812....CALL -1724.....Prints current contents of X register in 
  504. hexadecimalI
  505. G$F948....63816....CALL -1720.....Prints three successive blanks on the 
  506. current text screenP
  507. N$F94C....63820....CALL -1716.....Prints number of successive blanks specified 
  508. in X register0
  509. $FA62....64098....CALL -1438.....Pseudo-resets+
  510. $FAA6....64166....CALL -1370.....Re-boots9
  511. $FAD7....64215....CALL -1321.....Displays all registersO
  512. M$FB1E....64286....CALL -1250.....Reads value from game paddle specified in X +
  513. ")register; after CALL, value will be in Y 
  514. registerI
  515. $FB2F....64303....CALL -1233.....Clears text or low-res graphics screenL
  516. J$FB40....64320....CALL -1216.....Sets the screen to lo-res graphics mode; &
  517. destroys contents of the accumulatorF
  518. $FB4B....64331....CALL -1205.....Sets the normal, 4-line text window@
  519. $FB60....64352....CALL -1184.....Clears screen and ?"Apple..."M
  520. K$FB6F....64367....CALL -1169.....Used to calculate address 1012 ($3F4) for 
  521. the <Control-Reset> vectorK
  522. I$FBC1....64449....CALL -1087.....Calculates base address of current text 
  523. cursor postionN
  524. L$FBE4....64484....CALL -1052.....Rings bell (some equivalents to CALL -1052 ,
  525. "*are: <Control-G>, ? CHR$(7), ? CHR$(135), 
  526. or CALL -198)5
  527. $FBF4....64500....CALL -1036.....Moves cursor right4
  528. $FC10....64528....CALL -1008.....Moves cursor left2
  529. $FC1A....64538....CALL -998......Moves cursor upN
  530. L$FC22....64546....CALL -990......Tabs cursor vertically to row specified in 
  531. the accumulator>
  532. $FC2C....64556....CALL -980......Performs an ESCape functionO
  533. M$FC42....64578....CALL -958......Clears text from cursor to bottom of screen *
  534. "((including text on same line as cursor) 
  535. (same as <ESC> <F>)K
  536. I$FC58....64600....CALL -936......Clears TEXT screen and HOMEs the cursor &
  537. "$(equivalent of <ESC> <@>); destroys (
  538. contents of accumulator and Y register=
  539. $FC62....64610....CALL -926......Performs a carriage return4
  540. $FC66....64614....CALL -922......Moves cursor downK
  541. I$FC70....64624....CALL -912......Scrolls current text screen up one row; )
  542. "'destroys contents of accumulator and Y 
  543. registerO
  544. M$FC9C....64668....CALL -868......Clears text line from cursor to right (same 
  545. as <ESC> <E>)O
  546. M$FCA8....64680....CALL -856......WAITs; executes time delay; set delay value *
  547. "((dly) to the accumulator (address 69 or *
  548. "($45) before CALLing; the delay time (in -
  549. "+seconds) can be found using this equation: +
  550. delay=(0.5*(5*(dly*dly)+27*dly+26))/10000J
  551. $FCC9....64713....CALL -823......Writes leader tone to cassette recorderP
  552. N$FD0C....64780....CALL -756......Waits for any keypress; destroys contents of 
  553. accumulator and Y registerM
  554. K$FD1B....64795....CALL -741......Waits for a keypress and stores its ASCII '
  555. "%code in the accumulator; also cycles 
  556. random-number seed generatorP
  557. N$FD35....64821....CALL -715......Fetches keystoke and stores its value in the 
  558. the accumulator@
  559. $FD5A....64858....CALL -678......Waits for a <Return> keypressO
  560. $FD5C....64860....CALL -676......Rings bell and waits for a <Return> keypressP
  561. N$FD67....64871....CALL -665......Issues a line feed, waits for a line of data .
  562. ",ending with a <Return> keypress, stores the ,
  563. "*data in the keyboard input buffer, stores -
  564. "+length of line in Y register, and uses the .
  565. ",CHR$ of the number stored at address 51 for )
  566. a cursor (cursor symbol can be altered)M
  567. K$FD6A....64874....CALL -662......Same as CALL -665, but does not execute a 
  568. line feedJ
  569. H$FD6F....64879....CALL -657......Better input; commas/colons O.K.; this .
  570. ",example loads the variable A$ with what was ,
  571. "*put into the Keyboard Input Buffer by the 
  572. CALL -657:(
  573. N                                   10 PRINT "ENTER YOUR NAME (LAST,FIRST):";: 
  574. CALL -657O
  575. M                                   20 A$="": FOR I=512 TO 767: IF PEEK(I) <> (
  576. (&141 THEN A$=A$+CHR$(PEEK(I)-128):NEXT 
  577. N$FD75....64885....CALL -651......Same as CALL -662, but does not print prompt .
  578. ",character; CALL after setting X register to 
  579. $FD8E....64910....CALL -626......Performs a carriage returnK
  580. I$FDA3....64931....CALL -605......Prints hexadecimal of eight consecutive -
  581. "+memory locations, beginning from specified )
  582. "'LSB at address 60 and specified MSB at ,
  583. "*address 61; CALL after setting Y register 
  584. to 0L
  585. J$FDB3....64947....CALL -589......Prints range of hexadecimal data for the ,
  586. "*address specified in memory locations $3C .
  587. ",and $3D (LSB and MSB, respectively) through ,
  588. "*address specified in memory locations $3E -
  589. and $3F; CALL after setting Y register to 0E
  590. C$FDDA....64986....CALL -550......Prints the current content of the 
  591. accumulator in hexadecimalJ
  592. H$FDE3....64995....CALL -541......Prints lower four bits (nibble) of the 
  593. accumulatorI
  594. G$FDED....65005....CALL -531......Prints current ASCII character in the 
  595. accumulatorL
  596. J$FDF0....65008....CALL -528......Same as CALL -531, except CALL -528 also )
  597. advances cursor to next column positionP
  598. N$FE2C....65068....CALL -468......Memory move; to execute a BASIC memory move, (
  599. "&type this in (where OS and OE are the ,
  600. "*Old-location Start and End, and NS is the *
  601. New Start) and GOSUB 5000 to execute it:(
  602. H                                   5000 N=OS: LOC=60: GOSUB 5020: N=OE: $
  603. ("LOC=62: GOSUB 5020: N=NS: LOC=66: 
  604. GOSUB 5020I
  605. G                                   5010 POKE 768,160: POKE 769,0: POKE %
  606. (#770,76: POKE 771,44: POKE 772,254: 
  607. CALL 768: RETURNJ
  608. H                                   5020 POKE LOC,N-INT(N/256)*256: POKE 
  609. LOC+1,INT(N/256): RETURN"
  610. $FE5E....65118....CALL -418......Disassembles 20 instructionsG
  611. E$FE61....65121....CALL -415......Disassembler; POKE start address at 
  612. locations 58-59 before CALL*
  613. $FE80....65152....CALL -384......INVERSE)
  614. $FE84....65156....CALL -380......NORMAL.
  615. $FE86....65158....CALL -378......Sets I flag0
  616. $FE89....65161....CALL -375......Sets keyboard1
  617. $FEB0....65200....CALL -336......Jumps to BASIC2
  618. $FEB3....65203....CALL -333......Continues BASIC7
  619. $FEB6....65206....CALL -330......Memory location "Go"G
  620. $FEBF....65215....CALL -321......Displays A, X, Y, P, and S registers9
  621. $FEC2....65218....CALL -318......Performs monitor trace1
  622. $FECD....65229....CALL -307......Writes to tape2
  623. $FEFD....65277....CALL -259......Reads from tapeO
  624. M$FF2D....65325....CALL -211......Rings bell and ?"ERR"; destroys contents of 
  625. accumulator and Y registerI
  626. G$FF3A....65338....CALL -198......Rings bell without printing a control 
  627. character4
  628. $FF3F....65343....CALL -193......Monitor "RESTORE"3
  629. $FF44....65348....CALL -188......Monitor "RESTR1"1
  630. $FF4A....65354....CALL -182......Monitor "SAVE"1
  631. $FF4C....65356....CALL -180......Monitor "SAV1"1
  632. $FF59....65369....CALL -167......Enters monitor;
  633. $FF69....65381....CALL -155......Enters monitor with bellP
  634. N$FF69....65385....CALL -151......Enters monitor (<Control-C>, <Return> leaves 
  635. the monitor)M
  636. K$FF70....65392....CALL -144......Scans input buffer; here is an example of -
  637. "+how it executes a machine language routine 
  638. (not subroutine) from BASIC:(
  639. N                                   100 A$="300: A9 C1 20 ED FD 18 69 01 C9 DB 
  640. D0 F6 60 300G D823G"B
  641. @                                   110 FOR X=1 TO LEN(A$): POKE #
  642. 511+X,ASC(MID$(A$,X,1))+128: NEXT=
  643.                                    120 POKE 72,0: CALL -144
  644. M_____________________________________________________________________________$
  645. __________________________________
  646.